//
// Created by Zain on 2016/9/9.
//

#ifndef ZAINTL_FILEOUTPUTSTREAM_H
#define ZAINTL_FILEOUTPUTSTREAM_H

#include "OutputStream.h"

namespace ZainTL {
    class FileOutputStream : public OutputStream {
    public:
        FileOutputStream(const char *path);

        virtual ~FileOutputStream() override;

        virtual void write(const char *buffer, std::streamsize bufferSize) override;

        virtual void writeChar(char v) override;

        virtual void writeShort(uint16_t v) override;

        virtual void writeString(std::string v) override;

        virtual void writeLong(uint64_t v) override;
    };
}


#endif //ZAINTL_FILEOUTPUTSTREAM_H
